#ifndef __LINKQUEUE_H_
#define __LINKQUEUE_H_
#include "DoubleLinkList.hpp"

template<typename T>
class LinkQueue:protected DoubleLinkList<T> //继承类模板
{
public:
    LinkQueue():DoubleLinkList<T>(){}

    ~LinkQueue(){};

    void Push(const T& element) 
    {
        DoubleLinkList<T>::InsertTail(element);
    }

    void Pop() 
    {
        DoubleLinkList<T>::RemoveByIndex(0);
    }

    T& GetFront() 
    {
        return DoubleLinkList<T>::GetHead();
    }

    bool IsEmpty() 
    {
        return DoubleLinkList<T>::Size() == 0;
    }

private:

};


#endif